package 常用api;

public class 中断线程_api_忽略中断 {
    public static void main(String[] args) throws InterruptedException {
        //Thread对象中，内置了一个中断标志位（类似我们自定义的）
        //t线程中断标志位=false
        Thread t = new Thread(new Runnable() {
            @Override
            public void run() {
                //当前线程，没有被中断，就一直执行
                while (!Thread.currentThread().isInterrupted()){
                    try {
                        Thread.sleep(4000);//休眠100秒，但休眠到3秒的时候，被中断
                        System.out.println("t run");
                        //3秒后，抛了一个异常，捕获到进入catch语句：此时会重置中断标志位=false
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        });
        t.start();
        Thread.sleep(3000);
        //main线程中，中断t线程: t线程中断标志位=true
        t.interrupt();
    }
}
